package mytest;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;

public class Test03 {
    public static void main(String[] args) throws IOException {
        /*
         * 读入文件，将数字从小到大排序
         * 输出文件，将排序后的数字用-连接
         * 2-1-9-4-7-8
         *
         */

        // 读取文件内容
        FileReader fr = new FileReader("a.txt");
        StringBuilder sb = new StringBuilder();

        int ch;
        while ((ch = fr.read()) != -1) {
            sb.append((char) ch);
        }
        fr.close();

        // 将读取到的内容按"-"分割成字符串数组
        String[] arrstr = sb.toString().split("-");

        // 将字符串数组转换为整型ArrayList
        ArrayList<Integer> arr = new ArrayList<>();
        for (int i = 0; i < arrstr.length; i++) {
            arr.add(Integer.parseInt(arrstr[i]));
        }

        // 对整型ArrayList进行排序
        Collections.sort(arr);

        // 写入排序后的结果到文件
        FileWriter fw = new FileWriter("a.txt");
        for (int i = 0; i < arr.size(); i++) {
            // 判断是否是最后一个元素，如果不是则在数字后加上"-"
            if (i == arr.size() - 1) {
                fw.write(arr.get(i).toString() + "");
            } else {
                fw.write(arr.get(i) + "-");
            }
        }

        // 关闭文件写入流
        fw.close();
    }
}

